package com.story.modular.app.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.story.common.persistence.model.Search;
import com.story.common.persistence.model.VedioDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


/**
 * @author pyx
 * @date 2019/12/27 14:47
 * @param 
 * @return 
*/
public interface SearchMapper extends BaseMapper<Search> {

	/**
	 * 添加
	 * @param record
	 * @return
	 */
    int add(Search record);

    /**
     * 删除
     * @param searchId
     * @return
     */
    int delete(Integer searchId);
    
    /**
     * 修改
     * @param record
     * @return
     */
    int update(Search record);
    
    /**
     * 根据主键查询
     * @param searchId
     * @return
     */    
    Search findById(Integer searchId);

    /**
     * 基础分页查询
     * @param record
     * @return
     */    
    List<Search> findPage( @Param("keyword")String keyword);

    /**
     * 得到關鍵詞列表
     * @param
     * @return
     */
    List<Map<String,Object>> getSearchList(@Param("page") Page<Search> page,
                                           @Param("keyword") String keyword);
    /** 搜索视频专辑
     * @author pyx
     * @date 2019/12/27 16:52
     * @param
     * @return [keyword]
    */
    List<Map<String,Object>> findVideoCate(@Param("keyword") String keyword);

    /** 搜索视频
     * @author pyx
     * @date 2019/12/27 16:52
     * @param
     * @return
    */
    List<Map<String,Object>> findVideo(@Param("keyword") String keyword);


    /** 查询音乐专辑
     * @author pyx
     * @date 2019/12/27 17:09
     * @param
     * @return [keyword]
    */
    List<Map<String,Object>> findMusicCate(@Param("keyword") String keyword);

    /** 查询音乐
     * @author pyx
     * @date 2019/12/27 17:09
     * @param
     * @return [keyword]
     */
    List<Map<String,Object>> findMusic(@Param("keyword") String keyword);
    /** 关键字是否存在
     * @author pyx
     * @date 2019/12/30 10:19
     * @param [keyword]
     * @return [keyword]
    */
    Integer findKeyword(@Param("keyword") String keyword);
    /** 人气+1
     * @author pyx
     * @date 2019/12/30 10:19
     * @param [keyword]
     * @return [keyword]
    */
    Integer updateByKeyword(@Param("keyword") String keyword);
    /** e.专辑热度+1；
     * @author pyx
     * @date 2019/12/30 10:19
     * @param id
     * @return [keyword]
     */
    Integer updateZhuanJiByKeyword(@Param("id") String id);
    /** e.音频、视频，热度+1；
     * @author pyx
     * @date 2019/12/30 10:19
     * @param id
     * @return [keyword]
     */
    Integer updateOtherByKeyword(@Param("id") String id);

    /**
     * app top 30
     * @return
     */
    List<Map<String,Object>> selectTop30();
}